(C) 1996 AROS - The Amiga Replacement OS


NAME
LONG SPSin()
SYNOPSIS

LONG fnum1

LOCATION
In MathTransBase at offset 6
FUNCTION
Calculate the sine of a given FFP number in radians

INPUTS
y
Motorola fast floating point number
RESULT
Motorola fast floating point number

flags: zero : result is zero negative : result is negative overflow : 0

NOTES
EXAMPLE
BUGS
SEE ALSO
INTERNALS
Algorithm for Calculation of sin(y): z = floor ( |y| / pi ); y_1 = |y| - z * pi; => 0 <= y_1 < pi

if (y_1 > pi/2 ) then y_1 = pi - y_1;

=> 0 <= y_1 < pi/2

Res = y - y^3/3! + y^5/5! - y^7/7! + y^9/9! - y^11/11! = = y(1+y^2(-1/3!+y^2(1/5!+y^2(-1/7!+y^2(1/9!-1/11!y^2)))));

if (y < 0) Res = -Res;

if (z was an odd number) Res = -Res;

HISTORY
28.07.1997 bergers
Some bug-fixes and changes
21.07.1997 bergers
*** empty log message ***